package mysql.v1;

import java.sql.*;

/**
 * JDBC   增删改操作  CUD
 * JDBC   查询操作    R    ---->MysqlJDBCv1
 */
public class MysqlJDBCv1 {
    public static void main(String[] args) throws ClassNotFoundException, SQLException {
        //1.注册驱动:链接对应数据库--Mysql5.5驱动器
        Class.forName("com.mysql.jdbc.Driver");
        //2.准备工作:用户名、密码、url--Java字符串
        String username="root";
        String password="";
        String url="jdbc:mysql://localhost:3308/mi?characterEncoding=UTF-8";
        //3.链接数据库--DriverManage.getConnection();
        //  链接成功--返回Connection对象:表示java与数据库链接成功
        Connection con=DriverManager.getConnection(url,username,password);
        //打桩:测试数据库 是否链接成功，链接成功返回Connection对象
        System.out.println("测试是否链接成功"+con);

        //4.执行sql【查询】
        //4.1 Mysql 有库 mi 设置编码集   有表，切记：commit  数据入库
        //4.2 Java 执行sql【字符串查询】
        String sql="select * from book";
        //4.3 Java   执行sql增删改查--链接成功数据库
        //Statement执行sql   查操作  executeQuery()
        //                            返回值:ResultSet 结果集对象
        //Statement执行sql   增删改操作  executeUpdate()
        //                             返回值:int 记录成功多少条
        Statement st=con.createStatement();
        //ResultSet结果集保存表中所有数据
        ResultSet rs=st.executeQuery(sql);
        //5. 查询【book表】ResultSet 对象提供next()  一次获取字段下记录[数据]
        //book表---字段7个--while  循环那所有字段以及记录数
        // 看数据--ResultSet结果集--取--字段下记录
        while(rs.next()){ //一次去除数据库中 book 表所有字段:7个
            //显示字段下记录
            //getInt() 去除数据库中int类型字段
            // mysql int 类型  java int 类型
            int id=rs.getInt("id");
            // mysql varchar类型java String类
            String author=rs.getString("author");
            String name=rs.getString("name");
            int price=rs.getInt("price");
            String date=rs.getString("date");
            int number=rs.getInt("number");
            String discount=rs.getString("discount");
            //打桩:显示多少作者
            System.out.println(name);
        }
    }
}
